package com.lingkang.usersso.config.interceptor;

import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * @author linke
 * @date 2020-02-05 下午 18:01
 * @description
 */
@Component
public class UserInterceptor implements HandlerInterceptor {

    //在请求处理之前进行调用（Controller方法调用之前)
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        try {
            //拦截，如果没有进行登陆就不能进入管理页面
            if (request.getSession().getAttribute("user") != null) {
                return true;
            }
        } catch (Exception e) {
        }
        //可能用到重定向：
        response.sendRedirect("../toLogin");
        return false;
    }

    //在整个请求结束之后被调用，也就是在DispatcherServlet 渲染了对应的视图之后执行（主要是用于进行资源清理工作）
    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {

    }
}
